package com.itheima.d3_tcp.no3;

import java.net.ServerSocket;
import java.net.Socket;

//目标：掌握利用多线程优化tcp服务端的方式
public class ServerDemo03 {
    public static void main(String[] args) throws Exception {
        //1.创建ServerSocket对象，负责的是接收客户端的连接（Socket对象）
        ServerSocket server = new ServerSocket(10005);

        //2.不断的接收多个客户端的连接，accept方法需要不断的调用
        while (true) {
            Socket socket = server.accept();  //socket阻塞  只有连接成功了 才会往下走  否则会阻塞在这一步

            //3.为了不影响主线程继续循环调用accept方法获取其他客户端的连接，socket的处理交给子线程
            ServerRunnable runnable = new ServerRunnable(socket);
            Thread thread = new Thread(runnable);
            thread.start();
        }

    }
}


